草庐IT

由浅入深,聊聊 LeakCanary 的那些事

全部标签

聊聊各车企智驾“无图”方案

01起源行业发展需求2022年下半年可以认为高速城快的智驾问题已经基本解决,在智驾方面投入巨大的华为、小鹏发现高速城快用车占比小于15%,智驾不能称为消费者购车的决定性因素,也就不能给庞大的研发投入买单。为了进一步拓展智驾的适用范围,各家车企都将目光集中到了城区NOA,但是这个过程中面临了一个棘手的问题:城区高精地图的覆盖比例和鲜度远远不足!虽然国家看到了行业难点并在2022年下半年自然资源部公布了北上广深杭重6个城市的智能网联高精地图应用试点,但是仍然面临着:开放城市数量不足、高精地图成本高、地图审核速度慢等难题。这个过程需要经历的流程是:政策开放允许采集的城市名单-->图商依据资质采集制图

我们一起聊聊 B 站 Kafka 探索与实践

1.背景Kafka 是我们公司各个部门的重要数据中间件,主要用于上报、暂存和分发各种数据。我们不仅支持大数据场景,同时也保障在线场景的稳定性。我们拥有1000+台Kafka机器,组成了20多个集群,针对不同业务场景配置了不同规格的机器,磁盘类型包括HDD,SSD和NVME。每日PB级输入,输出数十PB,肩负着公司数据传输的重任。随着集群规模的扩张,我们也遇到了越来越多的挑战。图片2.面临的挑战与痛点客户端的读写方式多种多样,难以预测,集群的稳定性和资源利用率难以协调。过高的读写操作可能会导致机器磁盘I/O爆满,影响用户的读写体验。集群多业务共用,如何减少核心业务与普通业务的互相影响,减少爆炸半

聊聊分布式服务下的八种异步实现方式

一、异步的八种实现方式1、线程Thread2、Future3、异步框架CompletableFuture4、Spring注解@Async5、SpringApplicationEvent事件6、消息队列7、第三方异步框架,比如Hutool的ThreadUtil8、Guava异步二、什么是异步?首先我们先看一个常见的用户下单的场景:什么是异步?在同步操作中,我们执行到 发送短信 的时候,我们必须等待这个方法彻底执行完才能执行 赠送积分 这个操作,如果 赠送积分 这个动作执行时间较长,发送短信需要等待,这就是典型的同步场景。实际上,发送短信和赠送积分没有任何的依赖关系,通过异步,我们可以实现赠送积分

Android:LeakCanary原理的简单理解和使用

LeakCanary原理的简单理解和使用1、背景2、LeakCanary2.1、LeakCanary工作原理2.1.1、检测未被GC回收的对象2.1.2、转储堆2.1.3、分析堆2.1.4、对泄漏进行分类2.2、LeakCanary使用2.2.1、引入依赖2.2.1.1、原理2.2.2、配置LeakCanary2.2.3、检测内存泄漏3、Fragment和Activity的监听4、源码分析4.1、ReferenceQueue说明4.2、注册监听入口(第三节)4.3、Watcher和Activity的监测时机4.4、Fragment的监测时机4.5、ViewModel的检测时机4.6、总结5、优

【Spring】使用aop切面编程时要给那些类加注解

🎄欢迎来到@边境矢梦°的csdn博文🎄 🎄本文主要梳理 Spring 中使用aop切面编程时要给那些类加注解 🎄🌈我是边境矢梦°,一个正在为秋招和算法竞赛做准备的学生🌈🎆喜欢的朋友可以关注一下🫰🫰🫰,下次更新不迷路🎆Ps:月亮越亮说明知识点越重要(重要性或者难度越大)🌑🌒🌓🌔🌕   在使用切面编程时,通常需要为以下类或组件添加注解来标识它们,以便Spring或其他切面框架能够正确识别和处理它们:切面类(Aspect):切面类是包含切面逻辑的类,它需要使用@Aspect注解进行标识。切面类中包含通知(advice)方法,这些方法定义了在何时和何地执行切面逻辑。通常,切面类也需要被Spring扫描

聊聊SpringBoot的LogbackLoggingSystem

序本文主要研究一下springboot的LogbackLoggingSystemLoggingSystemorg/springframework/boot/logging/LoggingSystem.javapublicabstractclassLoggingSystem{ publicabstractvoidbeforeInitialize(); publicvoidinitialize(LoggingInitializationContextinitializationContext,StringconfigLocation,LogFilelogFile){ } publicvoidcle

【网络协议】聊聊TCP的三挥四握

上一篇我们说了网络其实是不稳定的,TCP和UDP其实是两个不同的对立者,所以TCP为了保证数据在网络中传输的可靠性,从丢包、乱序、重传、拥塞等场景有自己的一套打法。TCP格式源端口和目标端口是不可缺少的,用以区分到达发送给拿个应用。序号为了解决数据乱序的问题,解决数据先来后到的顺序问题。,确认序列号是为了保证对方又没有收到,用来重传的。对于TCP来说会努力保证TCP层面数据的可靠性。接下来就是SYN发起一个连接、ACK是回复、RST是重新连接。FIN是结束连接等。TCP是面向连接的,因而双方要维护连接的状态,这些带状态位的包的发送,会引起双方的状态变更。最重要的一个就是流量控制,是通过窗口大小

Android使用LeakCanary检测内存泄漏

Java四种引用在Java中,有四种不同的引用类型,分别是强引用(StrongReference)、软引用(SoftReference)、弱引用(WeakReference)和虚引用(PhantomReference)。(1)强引用(StrongReference)是最常见的引用类型,它是指在程序中普遍存在的引用关系,只要强引用存在,垃圾回收器就不会回收被引用的对象。例如:Objectobj=newObject();在上述代码中,obj是一个强引用,指向一个新创建的Object对象。只要obj存在,垃圾回收器就不会回收该对象。(2)软引用(SoftReference)是一种相对强引用弱化了一些

我们一起聊聊域名和域名解析

1.浏览器输入网址如下:百度:http://www.baidu.com淘宝:https://www.taobao.com阿里巴巴:https://ali-home.alibaba.com那么这些网址究竟怎么正确的去认识呢?2.协议类型除了常见的HTTP和HTTPS协议,还有很多其他类型的协议。例如,FTP(文件传输协议)是一种用于在客户端和服务器之间传输文件的协议。使用FTP协议,可以在计算机之间传输各种文件,如软件、音乐、视频等。类似ftp://xxx.xxx.com这样的格式,是指在FTP协议中使用的URL格式。通过在URL中添加协议类型,如ftp://,可以告知浏览器使用特定的协议类型来

聊聊宿主机管理

2020年,机器上线需要在八个服务间反复横跳,而且全程手动操作。伴随滴滴业务规模上云,弹性云新增大量物理机,上线操作至少有百次,这时暴露了一个问题:如果按这个速度上线机器,需要大量人力投入到上机器中。因此,弹性云急需一个平台来管理宿主的上下线。图片从无到有DevOps,标准先行在DevOps实践中,标准化是非常重要的一环。弹性云的所有机器都是围绕服务树管理的。由于之前是由人工管理,弹性云机器在服务树上的挂载情况非常混乱。因此,为了机器管理更标准,弹性云首先定义了服务树节点标准和规范,将宿主机生命周期与服务树节点进行关联。具体而言:机器上线:机器由backup节点挂载到kube-node-ini